package com.example.dao;

import java.util.List;
import java.util.Map;
import java.util.Set;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import com.example.entity.DrawingMaterial;
import com.example.entity.SchedulePlanEngineering;

/**
 * 图纸清单BP操作
 * 
 * @author Think
 *
 */
@Mapper
public interface UxenglstMapper {

	/**
	 * 插入相关图纸信息
	 * 
	 * @return
	 */
	public int insertUxenglst_AR(@Param("Set") Set<Map<String, String>> list, @Param("date") String date,
			@Param("Id") int Id);

	/**
	 * 为数据插入权限
	 * 
	 * @param list
	 * @param Id
	 * @return
	 */
	public int inserUxenglst_PERM_ListMap(@Param("Set") Set<Map<String, String>> list, @Param("Id") int Id);

	public int insert_Uxmd(@Param("list") List<DrawingMaterial> list, @Param("Id") int Id,@Param("projectNumber")Integer projectNumber); // 插入 错误图纸信息

	public int insert_Uxmd_PERM(@Param("list") List<DrawingMaterial> list, @Param("Id") int Id); // 插入相关权限

	public Integer select_UxmdMaxId(); // 查询相关最大ID

	public int delete_Uxmd(); // 删除之前插入的

	public int delete_uxmd_PERM();

	/**
	 * 查询表中最大ID
	 * 
	 * @return
	 */
	public Integer select_UxenglstMaxID();

	/**
	 * 根据专业 查询出所有的数据
	 * 
	 * @param discipline
	 * @return
	 */
	public List<String> select_DrawingNo(@Param("discipline") String discipline, @Param("projectId") int projectId);

	public int UPDATEDrawing(List<SchedulePlanEngineering> list);

	/**
	 * 查询表中所有被审核的JobcArd
	 * 
	 * @return
	 */
	public List<SchedulePlanEngineering> selectUxenglstJobcArd();

	public List<SchedulePlanEngineering> selectUxenglstJobcArdST_Shop();


	
	/**
	 * 查询根据jobcard 相同已审核的图纸数量
	 * 
	 * @return
	 */
	public int select_uxenglst_Jobcard_install_No_Active(@Param("discipline") String discipline,
			@Param("projectId") int projectId, @Param("jobcardinstallNo") String jobcardinstallNo,
			@Param("REV") String REV);

	/**
	 * 查询根据jobcard 相同未审核的图纸数量
	 * 
	 * @return
	 */
	public int select_uxenglst_Jobcard_install_No(@Param("discipline") String discipline,
			@Param("projectId") int projectId, @Param("jobcardinstallNo") String jobcardinstallNo,
			@Param("rev") String REV);

	public int updateTriggerStatusV2(@Param("projectId") int projectId, @Param("record_no") String record_no);

	public int updateTriggerStatus(@Param("projectId") int projectId, @Param("discipline") String discipline,
			@Param("JobcardinstallNo") String JobcardinstallNo);

	/**
	 * 查询所有未审核的图纸
	 * @return
	 */
	public List<String> selectUxenglst_Pending(@Param("projectId") int projectId, @Param("discipline") String discipline);
		
	public int queryPro(@Param("jobNo") String  jobNo);
	
	/**
	 * 查询表中所有审核过的 图纸 用来生成Jobcard
	 * 
	 * @return
	 */
	public List<SchedulePlanEngineering> selectUxenglstJobcArdPI();

	/**
	 * 查询表中所有审核过的 图纸 用来生成Jobcard
	 * 
	 * @return
	 */
	public List<SchedulePlanEngineering> selectUxenglstJobcArdMA();


	/**
	 * 舾装专业
	 * 查询表中所有审核过的 图纸 用来生成Jobcard
	 *
	 * @return
	 */
	public List<SchedulePlanEngineering> selectUxenglstJobcArdAR();
	 
}
